gtk4.git
7 years agoRemove GDestroyNotify casts in g_clear_pointer() uses
Ernestas Kulik [Wed, 25 Jul 2018 07:00:09 +0000 (10:00 +0300)]
Remove GDestroyNotify casts in g_clear_pointer() uses

GLib master propagates argument types in g_clear_pointer(), which causes
the usual function pointer casts to GDestroyNotify to trip compiler
warnings. Additionally, this commit changes some cleanup functions where
appropriate (wl_data_source_destroy ->
gtk_primary_selection_source_destroy for struct
gtk_primary_selection_source).

7 years agorender: Make gtk_render_icon() use the snapshot API
Benjamin Otte [Tue, 24 Jul 2018 18:23:20 +0000 (20:23 +0200)]
render: Make gtk_render_icon() use the snapshot API

This removes a lot of duplicated code.

7 years agorender: Make gtk_render_frame() and gtk_render_focus() use the snapshot API
Benjamin Otte [Tue, 24 Jul 2018 17:50:19 +0000 (19:50 +0200)]
render: Make gtk_render_frame() and gtk_render_focus() use the snapshot API

This removes a lot of duplicated code.

7 years agoAPI: Remove gtk_render_frame_gap()
Benjamin Otte [Tue, 24 Jul 2018 17:38:17 +0000 (19:38 +0200)]
API: Remove gtk_render_frame_gap()

That function does not make sense at all in a CSS world. So better don't
support it anymore.

7 years agorender: Make gtk_render_background() use the snapshot API
Benjamin Otte [Sat, 14 Jul 2018 19:53:29 +0000 (21:53 +0200)]
render: Make gtk_render_background() use the snapshot API

This removes a lot of duplicated code.

7 years agorender: Make gtk_render_check/arrow/handle() use the snapshot API
Benjamin Otte [Sat, 14 Jul 2018 19:24:42 +0000 (21:24 +0200)]
render: Make gtk_render_check/arrow/handle() use the snapshot API

This removes a lot of duplicated code.

7 years agorender: Make gtk_render_layout() use the snapshot API
Benjamin Otte [Sat, 14 Jul 2018 18:21:15 +0000 (20:21 +0200)]
render: Make gtk_render_layout() use the snapshot API

This removes a lot of duplicated code.

7 years agotestsuite: Fix DragContext => Drag renaming
Benjamin Otte [Sat, 14 Jul 2018 17:02:42 +0000 (19:02 +0200)]
testsuite: Fix DragContext => Drag renaming

7 years agogtk: Move GtkGesture declaration to gtktypes.h
Benjamin Otte [Fri, 29 Jun 2018 02:48:10 +0000 (04:48 +0200)]
gtk: Move GtkGesture declaration to gtktypes.h

That way, headers can use the gesture type without having to include
gtkgesture.h

7 years agodocs: Remove remains of Mir backend
Benjamin Otte [Fri, 22 Jun 2018 16:53:59 +0000 (18:53 +0200)]
docs: Remove remains of Mir backend

7 years agobroadway: Remove unused variable
Benjamin Otte [Tue, 24 Jul 2018 18:55:16 +0000 (20:55 +0200)]
broadway: Remove unused variable

7 years agoUpdate Romanian translation
Daniel Șerbănescu [Tue, 24 Jul 2018 18:09:59 +0000 (18:09 +0000)]
Update Romanian translation

7 years agoMerge branch 'nirbheek/misc-meson-fixes' into 'master'
Nirbheek Chauhan [Tue, 24 Jul 2018 08:29:34 +0000 (08:29 +0000)]
Merge branch 'nirbheek/misc-meson-fixes' into 'master'

Fix broadway backend build and graphene as a subproject

Closes #1197 and #1218

See merge request GNOME/gtk!265

7 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 24 Jul 2018 08:03:20 +0000 (10:03 +0200)]
Updated Spanish translation

7 years agoMerge branch 'just-popover-menu-things' into 'master'
Timm Bäder [Mon, 23 Jul 2018 18:55:55 +0000 (18:55 +0000)]
Merge branch 'just-popover-menu-things' into 'master'

Post-gizmo GtkPopoverMenu fixes

See merge request GNOME/gtk!264

7 years agomeson: Update pango and gdk-pixbuf wrap locations
Nirbheek Chauhan [Mon, 23 Jul 2018 14:44:27 +0000 (20:14 +0530)]
meson: Update pango and gdk-pixbuf wrap locations

See: https://gitlab.gnome.org/GNOME/gtk/issues/1219

7 years agomeson: Support graphene as a fallback dependency
Nirbheek Chauhan [Fri, 6 Jul 2018 18:53:06 +0000 (00:23 +0530)]
meson: Support graphene as a fallback dependency

Don't assume graphene_dep is always a pkg-config dependency.

Closes https://gitlab.gnome.org/GNOME/gtk/issues/1197

7 years agomeson: libgdk-broadway.a depends on broadwayjs.h
Nirbheek Chauhan [Mon, 23 Jul 2018 11:49:31 +0000 (17:19 +0530)]
meson: libgdk-broadway.a depends on broadwayjs.h

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1218

Also fix another dependency error I found.

7 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 23 Jul 2018 10:10:24 +0000 (12:10 +0200)]
Updated Spanish translation

7 years agotestpopover: Don’t set margin in menu box
Ernestas Kulik [Mon, 23 Jul 2018 10:05:57 +0000 (13:05 +0300)]
testpopover: Don’t set margin in menu box

The gizmo already provides sufficient padding.

7 years agogtkpopovermenu: Conditionally chain up in gtk_popover_menu_add()
Ernestas Kulik [Mon, 23 Jul 2018 10:01:01 +0000 (13:01 +0300)]
gtkpopovermenu: Conditionally chain up in gtk_popover_menu_add()

Otherwise the stack gets parented to the wrong widget and the contents
are never drawn.

7 years agogtkpopovermenu: Drop call to gtk_widget_show()
Ernestas Kulik [Mon, 23 Jul 2018 10:00:11 +0000 (13:00 +0300)]
gtkpopovermenu: Drop call to gtk_widget_show()

The stack is already visible.

7 years agoDrop builtin icon test
Matthias Clasen [Sun, 22 Jul 2018 17:16:20 +0000 (17:16 +0000)]
Drop builtin icon test

We don't have these icons anymore.

7 years agoUpdate British English translation
Bruce Cowan [Sat, 21 Jul 2018 11:08:03 +0000 (11:08 +0000)]
Update British English translation

7 years agoMerge branch 'wip/muktupavels/remove-gtk-css-provider-get-default' into 'master'
Benjamin Otte [Fri, 20 Jul 2018 14:03:51 +0000 (14:03 +0000)]
Merge branch 'wip/muktupavels/remove-gtk-css-provider-get-default' into 'master'

gtkcssprovider: remove gtk_css_provider_get_default

See merge request GNOME/gtk!256

7 years agoci: add hicolor-icon-theme to the docker image
Christoph Reiter [Fri, 20 Jul 2018 13:01:29 +0000 (15:01 +0200)]
ci: add hicolor-icon-theme to the docker image

The tests complain about it, not sure if this helps.

7 years agoDrop unused old icons
Matthias Clasen [Fri, 20 Jul 2018 10:53:08 +0000 (06:53 -0400)]
Drop unused old icons

We don't need to ship the deprecated old stock-id named
icons and the drag cursors - we don't use them from resources
anyway.

7 years agoUpdate Turkish translation
Emin Tufan Çetin [Fri, 20 Jul 2018 11:18:15 +0000 (11:18 +0000)]
Update Turkish translation

7 years agoEmoji chooser: Also check for hex boxes
Matthias Clasen [Thu, 19 Jul 2018 21:57:19 +0000 (17:57 -0400)]
Emoji chooser: Also check for hex boxes

We don't want to see those either.

7 years agomoji chooser: Try harder to avoid fallback
Matthias Clasen [Thu, 19 Jul 2018 21:50:54 +0000 (17:50 -0400)]
moji chooser: Try harder to avoid fallback

We don't want to see any fallback rendering.
The current check was still letting some fallback
combinations through.

Based on work by Julian Sparber.

7 years agoQuiet a compiler warning
Matthias Clasen [Thu, 19 Jul 2018 21:31:20 +0000 (17:31 -0400)]
Quiet a compiler warning

We don't need to handle GDK_CONFIGURE here, so make the
compiler not warn about it.

7 years agotestsuite: Add emoji icon names
Matthias Clasen [Thu, 19 Jul 2018 21:24:54 +0000 (17:24 -0400)]
testsuite: Add emoji icon names

We check for all icon names that are used in gtk.

7 years agoEmoji chooser: Use icons for sections
Matthias Clasen [Thu, 19 Jul 2018 21:24:11 +0000 (17:24 -0400)]
Emoji chooser: Use icons for sections

This is more reliable than using text-style Emoji
which may not be present.

Based on work by Julian Sparber.

7 years agoMerge branch 'master' into 'master'
Matthias Clasen [Thu, 19 Jul 2018 18:06:25 +0000 (18:06 +0000)]
Merge branch 'master' into 'master'

widgetfactory: add separator tool item to presentation

See merge request GNOME/gtk!249

7 years agoMerge branch 'content-provider-autoptr' into 'master'
Matthias Clasen [Thu, 19 Jul 2018 18:04:24 +0000 (18:04 +0000)]
Merge branch 'content-provider-autoptr' into 'master'

gdk: Add auto cleanup func for GdkContentProvider

See merge request GNOME/gtk!251

7 years agoMerge branch 'content-provider-docs' into 'master'
Matthias Clasen [Thu, 19 Jul 2018 17:46:36 +0000 (17:46 +0000)]
Merge branch 'content-provider-docs' into 'master'

docs: Fix GdkContentProvider documentation

See merge request GNOME/gtk!254

7 years agodocs: Fix GdkContentProvider documentation
Ernestas Kulik [Thu, 19 Jul 2018 17:05:19 +0000 (20:05 +0300)]
docs: Fix GdkContentProvider documentation

Currently it’s lacking properties, signals and class vfuncs.

7 years agogtkcssprovider: remove gtk_css_provider_get_default
Alberts Muktupāvels [Thu, 19 Jul 2018 16:14:26 +0000 (19:14 +0300)]
gtkcssprovider: remove gtk_css_provider_get_default

This function is unused since cdc6e8272020 commit and does not
contain fallback style.

https://gitlab.gnome.org/GNOME/gtk/issues/1226

7 years agoMerge branch 'content-deserializer-fixes' into 'master'
Benjamin Otte [Thu, 19 Jul 2018 13:59:21 +0000 (13:59 +0000)]
Merge branch 'content-deserializer-fixes' into 'master'

Content deserializer fixes

See merge request GNOME/gtk!252

7 years agogdk: contentdeserializer: Fix deserializer not returning
Ernestas Kulik [Thu, 19 Jul 2018 12:55:58 +0000 (15:55 +0300)]
gdk: contentdeserializer: Fix deserializer not returning

file_uri_deserializer does not return on success, only on failure. This
commit fixes clipboard reads never finishing for some types.

7 years agogdk: contentdeserializer: Fix stream usage
Ernestas Kulik [Thu, 19 Jul 2018 12:53:08 +0000 (15:53 +0300)]
gdk: contentdeserializer: Fix stream usage

file_uri_deserializer splices a memory stream, as opposed to
string_deserializer, which uses a converter and filter stream. This
commit fixes erroneous use of GMemoryOutputStream as
GFilterOutputStream.

7 years agogdk: Add auto cleanup func for GdkContentProvider
Ernestas Kulik [Thu, 19 Jul 2018 08:28:21 +0000 (11:28 +0300)]
gdk: Add auto cleanup func for GdkContentProvider

7 years agodocs: Small updates to the migration guide
Matthias Clasen [Thu, 19 Jul 2018 00:22:18 +0000 (20:22 -0400)]
docs: Small updates to the migration guide

Mention that event controllers are available in 3.x, amongst others.

7 years agoMerge branch 'places-sidebar-dnd' into 'master'
Matthias Clasen [Wed, 18 Jul 2018 00:23:08 +0000 (00:23 +0000)]
Merge branch 'places-sidebar-dnd' into 'master'

placessidebar: Take a GdkDrag in _set_drop_targets_visible()

Closes #1220

See merge request GNOME/gtk!247

7 years agowidgetfactory: add separator tool item to presentation
Günther Wutz [Tue, 17 Jul 2018 19:50:19 +0000 (21:50 +0200)]
widgetfactory: add separator tool item to presentation

7 years agoplacessidebar: Take a GdkDrag in _set_drop_targets_visible()
Ernestas Kulik [Tue, 17 Jul 2018 06:31:54 +0000 (09:31 +0300)]
placessidebar: Take a GdkDrag in _set_drop_targets_visible()

Since the function is usually called from GtkWidget::drag-{begin,end} handlers,
taking a GdkDrop does not work, especially given that
::drag-action-requested is emitted without checking the type.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1220

7 years agogesturestylus: Clarify a documentation comment
Timm Bäder [Tue, 17 Jul 2018 15:33:09 +0000 (17:33 +0200)]
gesturestylus: Clarify a documentation comment

Use the proper gtkdoc syntax for signals.

7 years agoRemove icon extents API
Timm Bäder [Sun, 15 Jul 2018 16:52:48 +0000 (18:52 +0200)]
Remove icon extents API

7 years agowidget: Remove another ->priv usage
Timm Bäder [Sun, 15 Jul 2018 16:09:48 +0000 (18:09 +0200)]
widget: Remove another ->priv usage

7 years agosizerequest: Pull locals into closest scope
Timm Bäder [Sun, 15 Jul 2018 16:08:30 +0000 (18:08 +0200)]
sizerequest: Pull locals into closest scope

7 years agoCorrectly mark an enum value in a doc comment
Timm Bäder [Sun, 15 Jul 2018 16:02:47 +0000 (18:02 +0200)]
Correctly mark an enum value in a doc comment

7 years agosizerequest: Only check reported baselines if requested
Timm Bäder [Sun, 15 Jul 2018 15:56:11 +0000 (17:56 +0200)]
sizerequest: Only check reported baselines if requested

If the passed-in store locations for the baselines are NULL anyway, we
don't need to check the reported baselines for correctness.

7 years agogl renderer: Pull a few declarations into the closest scope
Timm Bäder [Sun, 15 Jul 2018 15:52:34 +0000 (17:52 +0200)]
gl renderer: Pull a few declarations into the closest scope

7 years agoRemove GTK_CSS_AFFECTS_CLIP
Timm Bäder [Sun, 15 Jul 2018 15:51:47 +0000 (17:51 +0200)]
Remove GTK_CSS_AFFECTS_CLIP

Clips don't exist anymore and this flag is unused outside of the style
property definitions in gtkcssstylepropertyimpl.c

7 years agowindow: Don't queue an allocate if the css clip changes
Timm Bäder [Sun, 15 Jul 2018 15:42:56 +0000 (17:42 +0200)]
window: Don't queue an allocate if the css clip changes

clips don't exist anymore.

7 years agoGskRoundedRect: Typo
Timm Bäder [Sun, 15 Jul 2018 05:25:37 +0000 (07:25 +0200)]
GskRoundedRect: Typo

7 years agogl renderer: Use a GArray for the shadow cache
Timm Bäder [Sun, 15 Jul 2018 05:23:18 +0000 (07:23 +0200)]
gl renderer: Use a GArray for the shadow cache

It's very small usually, in default Adwaita the only blurred outset
shadow we have is the one for the CSD'd toplevel window.

7 years agoAvoid a g_object_get path
Timm Bäder [Sat, 14 Jul 2018 09:26:00 +0000 (11:26 +0200)]
Avoid a g_object_get path

We can use gdk_device_get_n_axes instead and will get the same result.

7 years agodocs: Fix scroll and motion controller titles
Timm Bäder [Sun, 8 Jul 2018 20:08:07 +0000 (22:08 +0200)]
docs: Fix scroll and motion controller titles

Controller, not Controler.

7 years agoMerge branch 'legacy-gl' into 'master'
Emmanuele Bassi [Tue, 17 Jul 2018 11:07:27 +0000 (11:07 +0000)]
Merge branch 'legacy-gl' into 'master'

fix the OpenGL renderer for legacy contexts

See merge request GNOME/gtk!240

7 years agoUpdate POTFILES.in
Piotr Drąg [Mon, 16 Jul 2018 14:35:52 +0000 (16:35 +0200)]
Update POTFILES.in

7 years agoHandle configure events in gdk
Matthias Clasen [Mon, 16 Jul 2018 00:11:56 +0000 (20:11 -0400)]
Handle configure events in gdk

The previous attempt at removing configure events entirely
was causing some dialogs not to show up under Wayland.
Presumably due to ordering issues with emitting ::size-change
out of the backend.

Instead, keep configure events in the event queue, but handle
them on the gdk side. This keeps the ordering intact, while
still removing configure events from the api. The dialogs
show up now.

7 years agoRevert "gdk: Drop configure events"
Matthias Clasen [Sun, 15 Jul 2018 23:52:28 +0000 (19:52 -0400)]
Revert "gdk: Drop configure events"

This reverts commit a8926c9d873ce968353a2eb1d3930c4f1ac79c94.

7 years agoRevert "broadway: Stop using configure events"
Matthias Clasen [Sun, 15 Jul 2018 23:49:26 +0000 (19:49 -0400)]
Revert "broadway: Stop using configure events"

This reverts commit 9c827cbff4d7cd3e59fbfeb7ec5abe9c7dbf6bdb.

7 years agoMerge branch 'dnd-cleanups' into 'master'
Matthias Clasen [Sun, 15 Jul 2018 22:18:11 +0000 (22:18 +0000)]
Merge branch 'dnd-cleanups' into 'master'

Dnd cleanups

See merge request GNOME/gtk!243

7 years agowin32: Stop accessing GdkDrag members
Matthias Clasen [Sun, 15 Jul 2018 20:58:22 +0000 (16:58 -0400)]
win32: Stop accessing GdkDrag members

7 years agowayland: Set actions on drag
Matthias Clasen [Sun, 15 Jul 2018 20:50:37 +0000 (16:50 -0400)]
wayland: Set actions on drag

We should pass the actions to the newly created
drag in drag_begin.

7 years agox11: Set actions on drag
Matthias Clasen [Sun, 15 Jul 2018 20:50:06 +0000 (16:50 -0400)]
x11: Set actions on drag

We should pass the actions to the newly created
drag object in drag_begin.

7 years agox11: Rename a file
Matthias Clasen [Sun, 15 Jul 2018 20:47:17 +0000 (16:47 -0400)]
x11: Rename a file

Keep in line with the parent class.

7 years agodrop: stop accessing GdkDrag fields
Matthias Clasen [Sun, 15 Jul 2018 20:18:06 +0000 (16:18 -0400)]
drop: stop accessing GdkDrag fields

7 years agox11: Stop using GdkDrag fields
Matthias Clasen [Sun, 15 Jul 2018 20:15:42 +0000 (16:15 -0400)]
x11: Stop using GdkDrag fields

7 years agowayland: Stop accessing GdkDrag members
Matthias Clasen [Sun, 15 Jul 2018 20:06:55 +0000 (16:06 -0400)]
wayland: Stop accessing GdkDrag members

7 years agoAdd a GdkDrag::surface property
Matthias Clasen [Sun, 15 Jul 2018 20:08:52 +0000 (16:08 -0400)]
Add a GdkDrag::surface property

7 years agogdkdrag: remove an unused member
Matthias Clasen [Sun, 15 Jul 2018 20:01:00 +0000 (16:01 -0400)]
gdkdrag: remove an unused member

The drag surface is stored in the subclasses and obtained
by via the get_drag_surface vfunc.

7 years agowayland: Drop an unused api
Matthias Clasen [Sun, 15 Jul 2018 19:56:56 +0000 (15:56 -0400)]
wayland: Drop an unused api

Nothing was calling gdk_wayland_drag_set_source_surface.

7 years agoAdd a private struct to GdkDrag
Matthias Clasen [Sun, 15 Jul 2018 19:47:43 +0000 (15:47 -0400)]
Add a private struct to GdkDrag

This will force subclasses to use proper api.

7 years agoRevert "GdkDrop: drop the priv struct"
Matthias Clasen [Sun, 15 Jul 2018 19:41:20 +0000 (15:41 -0400)]
Revert "GdkDrop: drop the priv struct"

This reverts commit d927c3bee0f169279d86e13756c5ba4f6cba94e4.

I was wrong. Better to hide the struct fields from subclasses.

7 years agodnd: Drop gdk_drag_drop
Matthias Clasen [Fri, 13 Jul 2018 16:56:58 +0000 (18:56 +0200)]
dnd: Drop gdk_drag_drop

This is an inconsistently used private api, and just adds
a vfunc indirection for no other benefit.

7 years agoMerge branch 'wip/matthiasc/kill-non-input-events' into 'master'
Matthias Clasen [Sun, 15 Jul 2018 19:50:37 +0000 (19:50 +0000)]
Merge branch 'wip/matthiasc/kill-non-input-events' into 'master'

Wip/matthiasc/kill non input events

See merge request GNOME/gtk!242

7 years agoFix up some doc mishaps
Matthias Clasen [Sun, 15 Jul 2018 19:36:19 +0000 (15:36 -0400)]
Fix up some doc mishaps

When GdkWindow was renamed to GdkSurface, 'window managers'
turned into 'surface managers'. Thats not cool.

7 years agoDrop gdk_surface_withdraw
Matthias Clasen [Sun, 15 Jul 2018 19:12:14 +0000 (15:12 -0400)]
Drop gdk_surface_withdraw

'withdrawn' is an X11-centric concept, and the function
can just as well be replaced by gdk_surface_hide.

7 years agogdk: Drop map events
Matthias Clasen [Sun, 15 Jul 2018 18:23:54 +0000 (14:23 -0400)]
gdk: Drop map events

We are really inconsistent about generating these,
and they are not actually used in GTK+. Instead,
add a boolean GdkSurface::mapped property.

7 years agowin32: Stop using expose and configure events
Matthias Clasen [Sun, 15 Jul 2018 18:07:40 +0000 (14:07 -0400)]
win32: Stop using expose and configure events

These no longer exist.

7 years agobroadway: Stop using configure events
Matthias Clasen [Sun, 15 Jul 2018 18:01:59 +0000 (14:01 -0400)]
broadway: Stop using configure events

These no longer exist.

7 years agogdk: Drop expose events
Matthias Clasen [Sun, 15 Jul 2018 12:48:46 +0000 (08:48 -0400)]
gdk: Drop expose events

Replace expose events with a GdkSurface::expose signal.
This is part of the move to use events only for input.

7 years agogdk: Drop configure events
Matthias Clasen [Sun, 15 Jul 2018 14:45:57 +0000 (10:45 -0400)]
gdk: Drop configure events

Replace configure events with a GdkSurface::size-changed signal.
This is part of the move to use events only for input.

7 years agopopover: Drop some dead code
Matthias Clasen [Sun, 15 Jul 2018 12:17:25 +0000 (08:17 -0400)]
popover: Drop some dead code

This will be done differently, using xdg-popup instead
of subsurfaces, so no point in keeping this.

7 years agotext display: correct a comment
Matthias Clasen [Sat, 14 Jul 2018 17:50:14 +0000 (13:50 -0400)]
text display: correct a comment

7 years agogl: implement clipping for legacy contexts
Elias Aebi [Sat, 14 Jul 2018 12:31:50 +0000 (14:31 +0200)]
gl: implement clipping for legacy contexts

7 years agogl: fix compilation errors for legacy context shaders
Elias Aebi [Sat, 14 Jul 2018 12:20:30 +0000 (14:20 +0200)]
gl: fix compilation errors for legacy context shaders

7 years agotextview: Only create cairo context in gtktextdisplay.c
Benjamin Otte [Sat, 14 Jul 2018 03:26:33 +0000 (05:26 +0200)]
textview: Only create cairo context in gtktextdisplay.c

Everything else is done using GtkSnapshot now, including renaming the
draw_layer vfunc to snapshot_layer.

7 years agox11: Set BackPixmap = None unconditionally
Benjamin Otte [Fri, 13 Jul 2018 16:59:01 +0000 (18:59 +0200)]
x11: Set BackPixmap = None unconditionally

Makes it more obvious what we actually want.

Related: #1134

7 years agoUpdate POTFILES.in
Piotr Drąg [Fri, 13 Jul 2018 13:11:45 +0000 (15:11 +0200)]
Update POTFILES.in

7 years agowindow: Update opaque region if background-color changes
Benjamin Otte [Fri, 13 Jul 2018 12:52:43 +0000 (14:52 +0200)]
window: Update opaque region if background-color changes

The opaque region is only set when the background color is opaque. So
we need to do something about it when the background color changes.

However, in the case where a size allocation is going to happen, we
already do this update in size_allocate(), so in that case avoid doing
it twice.

7 years agogtk-demo: Update aspect-ratio when selecting new puzzle
Benjamin Otte [Tue, 10 Jul 2018 11:28:37 +0000 (13:28 +0200)]
gtk-demo: Update aspect-ratio when selecting new puzzle

7 years agotextview: Use snapshot on the sidebars
Benjamin Otte [Tue, 10 Jul 2018 11:05:21 +0000 (13:05 +0200)]
textview: Use snapshot on the sidebars

7 years agowidgetpaintable: Add a hack to make recursion not infloop
Benjamin Otte [Fri, 6 Jul 2018 08:43:14 +0000 (10:43 +0200)]
widgetpaintable: Add a hack to make recursion not infloop

Makes the GUADEC talk not crash that I'm supposed to give in 20 minutes.

7 years agowidgetpaintable: Redo implementation
Benjamin Otte [Thu, 5 Jul 2018 19:42:39 +0000 (21:42 +0200)]
widgetpaintable: Redo implementation

Instead of instantly invalidating, we now cache the old render node and
do the update in an idle handler.
While that gives us a 1 frame delay, it avoids all the tricky things
like queueing resizes while resizing or queueing draws while drawing.

The only remaining issue (and a *big* one at that) is that a nested
widget paintable will now cause the widget to snapshot its previous
render node when creating a new one. And that one will snapshot its
previous render node, and that one will...
And nothing so far breaks this recursion.

7 years agopaintable: Fix return_if_fail() statements
Benjamin Otte [Thu, 5 Jul 2018 19:41:59 +0000 (21:41 +0200)]
paintable: Fix return_if_fail() statements

I always switch them up...

7 years agogl: Don't accidentally use ints for float variables
Benjamin Otte [Sun, 8 Jul 2018 14:52:33 +0000 (16:52 +0200)]
gl: Don't accidentally use ints for float variables

The int was floor()ing the x/y coordinates of glyphs, which could cause
significant repositioning of glyphs when text was scaled via the MVP.